Expand
The 'expand' parameter allows for recursive expansion of element property values, by rerunning a query against all element ID's contained in that property. In other words, expand replaces every "id:string,name:string" object within a property with the actual element that id represents.
Because a query is being re-executed for each ID, nested $select, $filter, and $expand statements can be used to control the returned results of the sub-queries. Expand can only be used on properties that return an array of objects which include an ID (which indicates that they point to another element containing additional information).
Valid Values: propertyName, $select, $filter, $expand
Case Sensitivity: expand IS case sensitive.
Limit: To curb exponential increase in data return, expansion depth is limited to a depth of ten, i.e. one expand and nine $expand's.
Usage:
curl -G "http://127.0.0.1:8090/mb/v1/elements" --data-urlencode "expand=<propertyName>"
curl -G "http://127.0.0.1:8090/mb/v1/elements" --data-urlencode "expand=<propertyName>($expand=<propertyName>;$select=<selectStatement>;$filter=<filter>)"
Example One
expand=ownedElement
In this example, expand executes queries for all element ID's within the ownedElement property. The two "id,name" pairings contained in the ownedElement property are replaced with their referenced elements.
Output Before Expand
curl http://127.0.0.1:8090/mb/v1/elements/_2024x_1_6620221_1744031966421_35325_22198
{
"aggregation": {
"name": "composite",
"literal": "composite"
},
"appliedStereotype": [
{
"id": "_15_0_be00301_1199377756297_348405_2678",
"name": "PartProperty"
}
],
"association": {
"id": "_2024x_1_6620221_1744031966421_381578_22197",
"name": "Association"
},
"associationEnd": null,
"class": "Property",
"classifier": {
"id": "_2024x_1_6620221_1743968373503_246639_20075",
"name": "Rocket"
},
"clientDependency": [],
"datatype": null,
"defaultValue": null,
"deployedElement": [],
"deployment": [],
"end": [],
"featuringClassifier": {
"id": "_2024x_1_6620221_1743968373503_246639_20075",
"name": "Rocket"
},
"ID": "_2024x_1_6620221_1744031966421_35325_22198",
"interface": null,
"isComposite": true,
"isDerived": false,
"isDerivedUnion": false,
"isID": false,
"isLeaf": false,
"isOrdered": false,
"isReadOnly": false,
"isStatic": false,
"isUnique": true,
"lower": 1,
"lowerValue": {
"id": "_2024x_1_6620221_1744031970326_443002_22208",
"name": "Literal Integer"
},
"mdExtensions": [],
"name": "engine",
"nameExpression": null,
"namespace": {
"id": "_2024x_1_6620221_1743968373503_246639_20075",
"name": "Rocket"
},
"opposite": {
"id": "_2024x_1_6620221_1744031966422_305989_22199",
"name": "Property"
},
"ownedComment": [],
"ownedElement": [
{
"id": "_2024x_1_6620221_1744031970326_443002_22208",
"name": "Literal Integer"
},
{
"id": "_2024x_1_6620221_1744031970326_306834_22209",
"name": "Literal Unlimited Natural"
}
],
"owner": {
"id": "_2024x_1_6620221_1743968373503_246639_20075",
"name": "Rocket"
},
"owningAssociation": null,
"owningSignal": null,
"owningTemplateParameter": null,
"qualifiedName": "20 Structure::Rocket::engine",
"qualifier": [],
"redefinedElement": [],
"redefinedProperty": [],
"redefinitionContext": [
{
"id": "_2024x_1_6620221_1743968373503_246639_20075",
"name": "Rocket"
}
],
"subsettedProperty": [],
"supplierDependency": [],
"syncElement": null,
"taggedValue": [],
"templateParameter": null,
"type": {
"id": "_2024x_1_6620221_1743978803088_889581_20373",
"name": "Engine"
},
"upper": 1,
"upperValue": {
"id": "_2024x_1_6620221_1744031970326_306834_22209",
"name": "Literal Unlimited Natural"
},
"visibility": {
"name": "public",
"literal": "public"
}
}
Output After Expand
curl -G "http://127.0.0.1:8090/mb/v1/elements/_2024x_1_6620221_1744031966421_35325_22198" --data-urlencode "expand=ownedElement"
{
"aggregation": {
"name": "composite",
"literal": "composite"
},
"appliedStereotype": [
{
"id": "_15_0_be00301_1199377756297_348405_2678",
"name": "PartProperty"
}
],
"association": {
"id": "_2024x_1_6620221_1744031966421_381578_22197",
"name": "Association"
},
"associationEnd": null,
"class": "Property",
"classifier": {
"id": "_2024x_1_6620221_1743968373503_246639_20075",
"name": "Rocket"
},
"clientDependency": [],
"datatype": null,
"defaultValue": null,
"deployedElement": [],
"deployment": [],
"end": [],
"featuringClassifier": {
"id": "_2024x_1_6620221_1743968373503_246639_20075",
"name": "Rocket"
},
"ID": "_2024x_1_6620221_1744031966421_35325_22198",
"interface": null,
"isComposite": true,
"isDerived": false,
"isDerivedUnion": false,
"isID": false,
"isLeaf": false,
"isOrdered": false,
"isReadOnly": false,
"isStatic": false,
"isUnique": true,
"lower": 1,
"lowerValue": {
"id": "_2024x_1_6620221_1744031970326_443002_22208",
"name": "Literal Integer"
},
"mdExtensions": [],
"name": "engine",
"nameExpression": null,
"namespace": {
"id": "_2024x_1_6620221_1743968373503_246639_20075",
"name": "Rocket"
},
"opposite": {
"id": "_2024x_1_6620221_1744031966422_305989_22199",
"name": "Property"
},
"ownedComment": [],
"ownedElement": [
{
"appliedStereotype": [],
"class": "LiteralInteger",
"clientDependency": [],
"expression": null,
"ID": "_2024x_1_6620221_1744031970326_443002_22208",
"mdExtensions": [],
"name": "",
"nameExpression": null,
"namespace": null,
"ownedComment": [],
"ownedElement": [],
"owner": {
"id": "_2024x_1_6620221_1744031966421_35325_22198",
"name": "engine"
},
"owningConstraint": null,
"owningInstanceSpec": null,
"owningLower": {
"id": "_2024x_1_6620221_1744031966421_35325_22198",
"name": "engine"
},
"owningPackage": null,
"owningParameter": null,
"owningProperty": null,
"owningSlot": null,
"owningTemplateParameter": null,
"owningUpper": null,
"qualifiedName": "20 Structure::Rocket::engine::",
"supplierDependency": [],
"syncElement": null,
"taggedValue": [],
"templateParameter": null,
"type": null,
"value": 1,
"visibility": null
},
{
"appliedStereotype": [],
"class": "LiteralUnlimitedNatural",
"clientDependency": [],
"expression": null,
"ID": "_2024x_1_6620221_1744031970326_306834_22209",
"mdExtensions": [],
"name": "",
"nameExpression": null,
"namespace": null,
"ownedComment": [],
"ownedElement": [],
"owner": {
"id": "_2024x_1_6620221_1744031966421_35325_22198",
"name": "engine"
},
"owningConstraint": null,
"owningInstanceSpec": null,
"owningLower": null,
"owningPackage": null,
"owningParameter": null,
"owningProperty": null,
"owningSlot": null,
"owningTemplateParameter": null,
"owningUpper": {
"id": "_2024x_1_6620221_1744031966421_35325_22198",
"name": "engine"
},
"qualifiedName": "20 Structure::Rocket::engine::",
"supplierDependency": [],
"syncElement": null,
"taggedValue": [],
"templateParameter": null,
"type": null,
"value": 1,
"visibility": null
}
],
"owner": {
"id": "_2024x_1_6620221_1743968373503_246639_20075",
"name": "Rocket"
},
"owningAssociation": null,
"owningSignal": null,
"owningTemplateParameter": null,
"qualifiedName": "20 Structure::Rocket::engine",
"qualifier": [],
"redefinedElement": [],
"redefinedProperty": [],
"redefinitionContext": [
{
"id": "_2024x_1_6620221_1743968373503_246639_20075",
"name": "Rocket"
}
],
"subsettedProperty": [],
"supplierDependency": [],
"syncElement": null,
"taggedValue": [],
"templateParameter": null,
"type": {
"id": "_2024x_1_6620221_1743978803088_889581_20373",
"name": "Engine"
},
"upper": 1,
"upperValue": {
"id": "_2024x_1_6620221_1744031970326_306834_22209",
"name": "Literal Unlimited Natural"
},
"visibility": {
"name": "public",
"literal": "public"
}
}
Example Two
expand=owner($expand=owner)
In this example, the owner property is expanded twice. rocketMass's owner is expanded to the display the initialMass element, and then initialMass's owner is expanded to show the entire '20 Structure' element.
Output Before Expand
curl -G "http://127.0.0.1:8090/mb/v1/elements/_2024x_2_6620221_1744845716942_814976_21084"
{
"aggregation": {
"name": "composite",
"literal": "composite"
},
"appliedStereotype": [
{
"id": "_12_0EAPbeta_be00301_1161355503976_51059_459",
"name": "ConstraintParameter"
}
],
"association": null,
"associationEnd": null,
"class": "Port",
"classifier": {
"id": "_2024x_2_6620221_1744845568934_244585_21036",
"name": "initialMass"
},
"clientDependency": [],
"datatype": null,
"defaultValue": null,
"deployedElement": [],
"deployment": [],
"end": [
{
"id": "_2024x_2_6620221_1744845794994_574513_21292",
"name": "Connector End"
}
],
"featuringClassifier": {
"id": "_2024x_2_6620221_1744845568934_244585_21036",
"name": "initialMass"
},
"ID": "_2024x_2_6620221_1744845716942_814976_21084",
"interface": null,
"isBehavior": false,
"isComposite": true,
"isConjugated": false,
"isDerived": false,
"isDerivedUnion": false,
"isID": false,
"isLeaf": false,
"isOrdered": false,
"isReadOnly": false,
"isService": true,
"isStatic": false,
"isUnique": true,
"lower": 1,
"lowerValue": null,
"mdExtensions": [],
"name": "rocketMass",
"nameExpression": null,
"namespace": {
"id": "_2024x_2_6620221_1744845568934_244585_21036",
"name": "initialMass"
},
"opposite": null,
"ownedComment": [],
"ownedElement": [],
"owner": {
"id": "_2024x_2_6620221_1744845568934_244585_21036",
"name": "initialMass"
},
"owningAssociation": null,
"owningSignal": null,
"owningTemplateParameter": null,
"protocol": null,
"provided": [],
"qualifiedName": "20 Structure::initialMass::rocketMass",
"qualifier": [],
"redefinedElement": [],
"redefinedPort": [],
"redefinedProperty": [],
"redefinitionContext": [
{
"id": "_2024x_2_6620221_1744845568934_244585_21036",
"name": "initialMass"
}
],
"required": [],
"subsettedProperty": [],
"supplierDependency": [],
"syncElement": null,
"taggedValue": [],
"templateParameter": null,
"type": {
"id": "_11_5EAPbeta_be00301_1147431819399_50461_1671",
"name": "Real"
},
"upper": 1,
"upperValue": null,
"visibility": {
"name": "private",
"literal": "private"
}
}
Output After Expand
curl -G "http://127.0.0.1:8090/mb/v1/elements/_2024x_2_6620221_1744845716942_814976_21084" --data-urlencode 'expand=owner($expand=owner)'
{
"aggregation": {
"name": "composite",
"literal": "composite"
},
"appliedStereotype": [
{
"id": "_12_0EAPbeta_be00301_1161355503976_51059_459",
"name": "ConstraintParameter"
}
],
"association": null,
"associationEnd": null,
"class": "Port",
"classifier": {
"id": "_2024x_2_6620221_1744845568934_244585_21036",
"name": "initialMass"
},
"clientDependency": [],
"datatype": null,
"defaultValue": null,
"deployedElement": [],
"deployment": [],
"end": [
{
"id": "_2024x_2_6620221_1744845794994_574513_21292",
"name": "Connector End"
}
],
"featuringClassifier": {
"id": "_2024x_2_6620221_1744845568934_244585_21036",
"name": "initialMass"
},
"ID": "_2024x_2_6620221_1744845716942_814976_21084",
"interface": null,
"isBehavior": false,
"isComposite": true,
"isConjugated": false,
"isDerived": false,
"isDerivedUnion": false,
"isID": false,
"isLeaf": false,
"isOrdered": false,
"isReadOnly": false,
"isService": true,
"isStatic": false,
"isUnique": true,
"lower": 1,
"lowerValue": null,
"mdExtensions": [],
"name": "rocketMass",
"nameExpression": null,
"namespace": {
"id": "_2024x_2_6620221_1744845568934_244585_21036",
"name": "initialMass"
},
"opposite": null,
"ownedComment": [],
"ownedElement": [],
"owner": {
"appliedStereotype": [
{
"id": "_11_5EAPbeta_be00301_1147767804973_159489_404",
"name": "ConstraintBlock"
}
],
"attribute": [
{
"id": "_2024x_2_6620221_1744845716942_417313_21082",
"name": "fullMotorMass"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1744845716942_353380_21085",
"name": "payloadMass"
}
],
"class": "Class",
"classifierBehavior": null,
"clientDependency": [],
"collaborationUse": [],
"elementImport": [],
"extension": [],
"feature": [
{
"id": "_2024x_2_6620221_1744845716942_417313_21082",
"name": "fullMotorMass"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1744845716942_353380_21085",
"name": "payloadMass"
}
],
"general": [],
"generalization": [],
"ID": "_2024x_2_6620221_1744845568934_244585_21036",
"importedMember": [],
"inheritedMember": [],
"interfaceRealization": [],
"isAbstract": false,
"isActive": false,
"isFinalSpecialization": false,
"isLeaf": false,
"mdExtensions": [],
"member": [
{
"id": "_2024x_2_6620221_1744845716942_417313_21082",
"name": "fullMotorMass"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1744845568944_272311_21059",
"name": "Constraint"
}
],
"name": "initialMass",
"nameExpression": null,
"namespace": {
"id": "_2024x_1_6620221_1743775854527_54445_21189",
"name": "20 Structure"
},
"nestedClassifier": [],
"ownedAttribute": [
{
"id": "_2024x_2_6620221_1744845716942_417313_21082",
"name": "fullMotorMass"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1744845716942_353380_21085",
"name": "payloadMass"
}
],
"ownedBehavior": [],
"ownedComment": [
{
"id": "_2024x_2_6620221_1744928819949_681684_25000",
"name": "Comment"
}
],
"ownedConnector": [],
"ownedDiagram": [],
"ownedElement": [
{
"id": "_2024x_2_6620221_1744928819949_681684_25000",
"name": "Comment"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1744845568944_272311_21059",
"name": "Constraint"
}
],
"ownedMember": [
{
"id": "_2024x_2_6620221_1744845716942_417313_21082",
"name": "fullMotorMass"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1744845568944_272311_21059",
"name": "Constraint"
}
],
"ownedOperation": [],
"ownedPort": [
{
"id": "_2024x_2_6620221_1744845716942_417313_21082",
"name": "fullMotorMass"
},
{
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1744845716942_353380_21085",
"name": "payloadMass"
}
],
"ownedReception": [],
"ownedRule": [
{
"id": "_2024x_2_6620221_1744845568944_272311_21059",
"name": "Constraint"
}
],
"ownedTemplateSignature": null,
"ownedUseCase": [],
"owner": {
"appliedStereotype": [],
"class": "Package",
"clientDependency": [],
"elementImport": [],
"ID": "_2024x_1_6620221_1743775854527_54445_21189",
"importedMember": [],
"mdExtensions": [],
"member": [
{
"id": "_2024x_1_6620221_1743968373503_246639_20075",
"name": "Rocket"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_1_6620221_1743968060856_890383_20041",
"name": "Rocket System Decomposition"
}
],
"name": "20 Structure",
"nameExpression": null,
"namespace": {
"id": "eee_1045467100313_135436_1",
"name": "Model"
},
"nestedPackage": [
{
"id": "_2024x_1_6620221_1744118858497_166248_21891",
"name": "Interfaces"
},
{
"id": "_2024x_2_6620221_1744388190200_756351_20375",
"name": "Signals"
},
{
"id": "_2024x_2_6620221_1744596873988_945124_21111",
"name": "Rocket Configurations"
}
],
"nestingPackage": {
"id": "eee_1045467100313_135436_1",
"name": "Model"
},
"ownedComment": [],
"ownedDiagram": [
{
"id": "_2024x_1_6620221_1743968041652_155660_20014",
"name": "Rocket Context Decomposition"
},
{
"id": "_2024x_1_6620221_1743968060856_890383_20041",
"name": "Rocket System Decomposition"
}
],
"ownedElement": [
{
"id": "_2024x_1_6620221_1743968373503_246639_20075",
"name": "Rocket"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_1_6620221_1743968060856_890383_20041",
"name": "Rocket System Decomposition"
}
],
"ownedMember": [
{
"id": "_2024x_1_6620221_1743968373503_246639_20075",
"name": "Rocket"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_1_6620221_1743968060856_890383_20041",
"name": "Rocket System Decomposition"
}
],
"ownedRule": [],
"ownedStereotype": [],
"ownedTemplateSignature": null,
"ownedType": [
{
"id": "_2024x_1_6620221_1743968373503_246639_20075",
"name": "Rocket"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1749059031861_214225_22586",
"name": "Payload X"
}
],
"owner": {
"id": "eee_1045467100313_135436_1",
"name": "Model"
},
"owningPackage": {
"id": "eee_1045467100313_135436_1",
"name": "Model"
},
"owningTemplateParameter": null,
"packagedElement": [
{
"id": "_2024x_1_6620221_1743968373503_246639_20075",
"name": "Rocket"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1749059031861_214225_22586",
"name": "Payload X"
}
],
"packageImport": [],
"packageMerge": [],
"profileApplication": [],
"qualifiedName": "20 Structure",
"supplierDependency": [],
"syncElement": null,
"taggedValue": [],
"templateBinding": [],
"templateParameter": null,
"URI": "",
"visibility": null
},
"owningPackage": {
"id": "_2024x_1_6620221_1743775854527_54445_21189",
"name": "20 Structure"
},
"owningTemplateParameter": null,
"package": {
"id": "_2024x_1_6620221_1743775854527_54445_21189",
"name": "20 Structure"
},
"packageImport": [],
"part": [
{
"id": "_2024x_2_6620221_1744845716942_417313_21082",
"name": "fullMotorMass"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1744845716942_353380_21085",
"name": "payloadMass"
}
],
"powertypeExtent": [],
"qualifiedName": "20 Structure::initialMass",
"redefinedClassifier": [],
"redefinedElement": [],
"redefinitionContext": [],
"representation": null,
"role": [
{
"id": "_2024x_2_6620221_1744845716942_417313_21082",
"name": "fullMotorMass"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1744845716942_353380_21085",
"name": "payloadMass"
}
],
"substitution": [],
"superClass": [],
"supplierDependency": [],
"syncElement": null,
"taggedValue": [],
"templateBinding": [],
"templateParameter": null,
"UMLClass": null,
"useCase": [],
"visibility": null
},
"owningAssociation": null,
"owningSignal": null,
"owningTemplateParameter": null,
"protocol": null,
"provided": [],
"qualifiedName": "20 Structure::initialMass::rocketMass",
"qualifier": [],
"redefinedElement": [],
"redefinedPort": [],
"redefinedProperty": [],
"redefinitionContext": [
{
"id": "_2024x_2_6620221_1744845568934_244585_21036",
"name": "initialMass"
}
],
"required": [],
"subsettedProperty": [],
"supplierDependency": [],
"syncElement": null,
"taggedValue": [],
"templateParameter": null,
"type": {
"id": "_11_5EAPbeta_be00301_1147431819399_50461_1671",
"name": "Real"
},
"upper": 1,
"upperValue": null,
"visibility": {
"name": "private",
"literal": "private"
}
}
Example Three
expand=ownedElement($select=name,id,class;$filter=class eq 'Property')
In this example, the ownedElement property is expanded, and then the results of that expansion are filterted to return only elements whose class equals 'Property'. The expanded results are further constrained to only return the name, id, and class properties.
Output Before Expand
curl 'http://127.0.0.1:8090/mb/v1/elements/_2024x_1_6620221_1743978803088_889581_20373'
{
"appliedStereotype": [
{
"id": "_11_5EAPbeta_be00301_1147424179914_458922_958",
"name": "Block"
}
],
"attribute": [
{
"id": "_2024x_1_6620221_1744123416188_295578_24951",
"name": "p1"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1746449939320_67443_21257",
"name": "engineDelay"
}
],
"class": "Class",
"classifierBehavior": null,
"clientDependency": [],
"collaborationUse": [],
"elementImport": [],
"extension": [],
"feature": [
{
"id": "_2024x_1_6620221_1744123416188_295578_24951",
"name": "p1"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1746449939320_67443_21257",
"name": "engineDelay"
}
],
"general": [],
"generalization": [],
"ID": "_2024x_1_6620221_1743978803088_889581_20373",
"importedMember": [],
"inheritedMember": [],
"interfaceRealization": [],
"isAbstract": false,
"isActive": false,
"isFinalSpecialization": false,
"isLeaf": false,
"mdExtensions": [],
"member": [
{
"id": "_2024x_1_6620221_1744123416188_295578_24951",
"name": "p1"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1744377378904_504850_20875",
"name": "averageThrust"
}
],
"name": "Engine",
"nameExpression": null,
"namespace": {
"id": "_2024x_1_6620221_1743775854527_54445_21189",
"name": "20 Structure"
},
"nestedClassifier": [],
"ownedAttribute": [
{
"id": "_2024x_1_6620221_1744123416188_295578_24951",
"name": "p1"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1746449939320_67443_21257",
"name": "engineDelay"
}
],
"ownedBehavior": [],
"ownedComment": [],
"ownedConnector": [],
"ownedDiagram": [],
"ownedElement": [
{
"id": "_2024x_1_6620221_1744123416188_295578_24951",
"name": "p1"
},
{
"id": "_2024x_1_6620221_1744204005451_967302_20636",
"name": "p4"
},
{
"id": "_2024x_1_6620221_1744316911582_485605_20647",
"name": "p2"
},
{
"id": "_2024x_2_6620221_1744377058756_661659_20863",
"name": "burnTime"
},
{
"id": "_2024x_2_6620221_1744377115240_105919_20867",
"name": "totalImpulse"
},
{
"id": "_2024x_2_6620221_1744377445416_45204_20879",
"name": "averageThrust"
},
{
"id": "_2024x_2_6620221_1744598072372_116433_22136",
"name": "p3"
},
{
"id": "_2024x_2_6620221_1744834970558_537037_20623",
"name": "initialMass"
},
{
"id": "_2024x_2_6620221_1744835033507_866034_20626",
"name": "emptyMass"
},
{
"id": "_2024x_2_6620221_1745413633507_125500_21239",
"name": "thrust"
},
{
"id": "_2024x_2_6620221_1745413659718_782563_21243",
"name": "timeSeries"
},
{
"id": "_2024x_2_6620221_1746449929441_115227_21255",
"name": "engineType"
},
{
"id": "_2024x_2_6620221_1746449939320_67443_21257",
"name": "engineDelay"
},
{
"id": "_2024x_2_6620221_1744377378904_504850_20875",
"name": "averageThrust"
}
],
"ownedMember": [
{
"id": "_2024x_1_6620221_1744123416188_295578_24951",
"name": "p1"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1744377378904_504850_20875",
"name": "averageThrust"
}
],
"ownedOperation": [],
"ownedPort": [
{
"id": "_2024x_1_6620221_1744123416188_295578_24951",
"name": "p1"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1744598072372_116433_22136",
"name": "p3"
}
],
"ownedReception": [],
"ownedRule": [
{
"id": "_2024x_2_6620221_1744377378904_504850_20875",
"name": "averageThrust"
}
],
"ownedTemplateSignature": null,
"ownedUseCase": [],
"owner": {
"id": "_2024x_1_6620221_1743775854527_54445_21189",
"name": "20 Structure"
},
"owningPackage": {
"id": "_2024x_1_6620221_1743775854527_54445_21189",
"name": "20 Structure"
},
"owningTemplateParameter": null,
"package": {
"id": "_2024x_1_6620221_1743775854527_54445_21189",
"name": "20 Structure"
},
"packageImport": [],
"part": [
{
"id": "_2024x_1_6620221_1744123416188_295578_24951",
"name": "p1"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1746449939320_67443_21257",
"name": "engineDelay"
}
],
"powertypeExtent": [
{
"id": "_2024x_2_6620221_1744376918005_818215_20851",
"name": "engineSet"
}
],
"qualifiedName": "20 Structure::Engine",
"redefinedClassifier": [],
"redefinedElement": [],
"redefinitionContext": [],
"representation": null,
"role": [
{
"id": "_2024x_1_6620221_1744123416188_295578_24951",
"name": "p1"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1746449939320_67443_21257",
"name": "engineDelay"
}
],
"substitution": [],
"superClass": [],
"supplierDependency": [],
"syncElement": null,
"taggedValue": [],
"templateBinding": [],
"templateParameter": null,
"UMLClass": null,
"useCase": [],
"visibility": null
}
Output After Expand
Note: The backslashes before $ are required only in POSIX shells (e.g., bash/zsh) to prevent shell variable expansion when using double-quoted arguments. They are not required in non-shell or programmatic contexts where shell expansion does not occur.
curl -G "http://127.0.0.1:8090/mb/v1/elements/_2024x_1_6620221_1743978803088_889581_20373" --data-urlencode "expand=ownedElement(\$select=name,id,class;\$filter=class eq 'Property')"
{
"appliedStereotype": [
{
"id": "_11_5EAPbeta_be00301_1147424179914_458922_958",
"name": "Block"
}
],
"attribute": [
{
"id": "_2024x_1_6620221_1744123416188_295578_24951",
"name": "p1"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1746449939320_67443_21257",
"name": "engineDelay"
}
],
"class": "Class",
"classifierBehavior": null,
"clientDependency": [],
"collaborationUse": [],
"elementImport": [],
"extension": [],
"feature": [
{
"id": "_2024x_1_6620221_1744123416188_295578_24951",
"name": "p1"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1746449939320_67443_21257",
"name": "engineDelay"
}
],
"general": [],
"generalization": [],
"ID": "_2024x_1_6620221_1743978803088_889581_20373",
"importedMember": [],
"inheritedMember": [],
"interfaceRealization": [],
"isAbstract": false,
"isActive": false,
"isFinalSpecialization": false,
"isLeaf": false,
"mdExtensions": [],
"member": [
{
"id": "_2024x_1_6620221_1744123416188_295578_24951",
"name": "p1"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1744377378904_504850_20875",
"name": "averageThrust"
}
],
"name": "Engine",
"nameExpression": null,
"namespace": {
"id": "_2024x_1_6620221_1743775854527_54445_21189",
"name": "20 Structure"
},
"nestedClassifier": [],
"ownedAttribute": [
{
"id": "_2024x_1_6620221_1744123416188_295578_24951",
"name": "p1"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1746449939320_67443_21257",
"name": "engineDelay"
}
],
"ownedBehavior": [],
"ownedComment": [],
"ownedConnector": [],
"ownedDiagram": [],
"ownedElement": [
{
"class": "Property",
"ID": "_2024x_2_6620221_1744377058756_661659_20863",
"name": "burnTime"
},
{
"class": "Property",
"ID": "_2024x_2_6620221_1744377115240_105919_20867",
"name": "totalImpulse"
},
{
"class": "Property",
"ID": "_2024x_2_6620221_1744377445416_45204_20879",
"name": "averageThrust"
},
{
"class": "Property",
"ID": "_2024x_2_6620221_1744834970558_537037_20623",
"name": "initialMass"
},
{
"class": "Property",
"ID": "_2024x_2_6620221_1744835033507_866034_20626",
"name": "emptyMass"
},
{
"class": "Property",
"ID": "_2024x_2_6620221_1745413633507_125500_21239",
"name": "thrust"
},
{
"class": "Property",
"ID": "_2024x_2_6620221_1745413659718_782563_21243",
"name": "timeSeries"
},
{
"class": "Property",
"ID": "_2024x_2_6620221_1746449929441_115227_21255",
"name": "engineType"
},
{
"class": "Property",
"ID": "_2024x_2_6620221_1746449939320_67443_21257",
"name": "engineDelay"
}
],
"ownedMember": [
{
"id": "_2024x_1_6620221_1744123416188_295578_24951",
"name": "p1"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1744377378904_504850_20875",
"name": "averageThrust"
}
],
"ownedOperation": [],
"ownedPort": [
{
"id": "_2024x_1_6620221_1744123416188_295578_24951",
"name": "p1"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1744598072372_116433_22136",
"name": "p3"
}
],
"ownedReception": [],
"ownedRule": [
{
"id": "_2024x_2_6620221_1744377378904_504850_20875",
"name": "averageThrust"
}
],
"ownedTemplateSignature": null,
"ownedUseCase": [],
"owner": {
"id": "_2024x_1_6620221_1743775854527_54445_21189",
"name": "20 Structure"
},
"owningPackage": {
"id": "_2024x_1_6620221_1743775854527_54445_21189",
"name": "20 Structure"
},
"owningTemplateParameter": null,
"package": {
"id": "_2024x_1_6620221_1743775854527_54445_21189",
"name": "20 Structure"
},
"packageImport": [],
"part": [
{
"id": "_2024x_1_6620221_1744123416188_295578_24951",
"name": "p1"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1746449939320_67443_21257",
"name": "engineDelay"
}
],
"powertypeExtent": [
{
"id": "_2024x_2_6620221_1744376918005_818215_20851",
"name": "engineSet"
}
],
"qualifiedName": "20 Structure::Engine",
"redefinedClassifier": [],
"redefinedElement": [],
"redefinitionContext": [],
"representation": null,
"role": [
{
"id": "_2024x_1_6620221_1744123416188_295578_24951",
"name": "p1"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1746449939320_67443_21257",
"name": "engineDelay"
}
],
"substitution": [],
"superClass": [],
"supplierDependency": [],
"syncElement": null,
"taggedValue": [],
"templateBinding": [],
"templateParameter": null,
"UMLClass": null,
"useCase": [],
"visibility": null
}
Example Four
expand=ownedElement($filter=superClass.name eq 'Engine';$select=name;$expand=ownedElement($filter=name eq 'burnTime' or name eq 'totalImpulse';$select=name;$expand=ownedElement($select=tagDefinition,class,value;$filter=tagDefinition.name ne 'standardDeviation')))&select=name,ownedElement
In this example, we showcase the power and complexity possible with the expand parameter.
We start at the package '20 Structure' and return all engine names, their mean burn times, and total impulses. The tree below explains how the nested $expands, $filters, and $selects are paired together to return the desired information.
Element: 20 Structure (by ID path parameter)
├─ select: name, ownedElement
└─ expand: ownedElement
├─ filter: superClass.name = 'Engine'
├─ select: name
└─ expand: ownedElement
├─ filter: name in {'burnTime','totalImpulse'}
├─ select: name
└─ expand: ownedElement
├─ filter: tagDefinition.name != 'standardDeviation'
└─ select: tagDefinition, class, value
Output Before Expand
curl 'http://127.0.0.1:8090/mb/v1/elements/_2024x_1_6620221_1743775854527_54445_21189'
{
"appliedStereotype": [],
"class": "Package",
"clientDependency": [],
"elementImport": [],
"ID": "_2024x_1_6620221_1743775854527_54445_21189",
"importedMember": [],
"mdExtensions": [],
"member": [
{
"id": "_2024x_1_6620221_1743968373503_246639_20075",
"name": "Rocket"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_1_6620221_1743968060856_890383_20041",
"name": "Rocket System Decomposition"
}
],
"name": "20 Structure",
"nameExpression": null,
"namespace": {
"id": "eee_1045467100313_135436_1",
"name": "Model"
},
"nestedPackage": [
{
"id": "_2024x_1_6620221_1744118858497_166248_21891",
"name": "Interfaces"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1744596873988_945124_21111",
"name": "Rocket Configurations"
}
],
"nestingPackage": {
"id": "eee_1045467100313_135436_1",
"name": "Model"
},
"ownedComment": [],
"ownedDiagram": [
{
"id": "_2024x_1_6620221_1743968041652_155660_20014",
"name": "Rocket Context Decomposition"
},
{
"id": "_2024x_1_6620221_1743968060856_890383_20041",
"name": "Rocket System Decomposition"
}
],
"ownedElement": [
{
"id": "_2024x_1_6620221_1743968373503_246639_20075",
"name": "Rocket"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_1_6620221_1743968060856_890383_20041",
"name": "Rocket System Decomposition"
}
],
"ownedMember": [
{
"id": "_2024x_1_6620221_1743968373503_246639_20075",
"name": "Rocket"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_1_6620221_1743968060856_890383_20041",
"name": "Rocket System Decomposition"
}
],
"ownedRule": [],
"ownedStereotype": [],
"ownedTemplateSignature": null,
"ownedType": [
{
"id": "_2024x_1_6620221_1743968373503_246639_20075",
"name": "Rocket"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1749059031861_214225_22586",
"name": "Payload X"
}
],
"owner": {
"id": "eee_1045467100313_135436_1",
"name": "Model"
},
"owningPackage": {
"id": "eee_1045467100313_135436_1",
"name": "Model"
},
"owningTemplateParameter": null,
"packagedElement": [
{
"id": "_2024x_1_6620221_1743968373503_246639_20075",
"name": "Rocket"
},
///TRUNCATED FOR EXAMPLE///
{
"id": "_2024x_2_6620221_1749059031861_214225_22586",
"name": "Payload X"
}
],
"packageImport": [],
"packageMerge": [],
"profileApplication": [],
"qualifiedName": "20 Structure",
"supplierDependency": [],
"syncElement": null,
"taggedValue": [],
"templateBinding": [],
"templateParameter": null,
"URI": "",
"visibility": null
}
Output After Expand
Note: The backslashes before $ are required only in POSIX shells (e.g., bash/zsh) to prevent shell variable expansion when using double-quoted arguments. They are not required in non-shell or programmatic contexts where shell expansion does not occur.
curl -G "http://127.0.0.1:8090/mb/v1/elements/_2024x_1_6620221_1743775854527_54445_21189" --data-urlencode "select=name,ownedElement" --data-urlencode "expand=ownedElement(\$filter=superClass.name eq 'Engine';\$select=name;\$expand=ownedElement(\$filter=name eq 'burnTime' or name eq 'totalImpulse';\$select=name;\$expand=ownedElement(\$select=tagDefinition,class,value;\$filter=tagDefinition.name ne 'standardDeviation')))"
{
"name": "20 Structure",
"ownedElement": [
{
"name": "C6",
"ownedElement": [
{
"name": "burnTime",
"ownedElement": [
{
"class": "RealTaggedValue",
"tagDefinition": {
"id": "_12_1_8740266_1172576734718_412869_410",
"name": "mean"
},
"value": [
1.86
]
}
]
},
{
"name": "totalImpulse",
"ownedElement": [
{
"class": "RealTaggedValue",
"tagDefinition": {
"id": "_12_1_8740266_1172576734718_412869_410",
"name": "mean"
},
"value": [
8.82
]
}
]
}
]
},
{
"name": "C11",
"ownedElement": [
{
"name": "burnTime",
"ownedElement": [
{
"class": "RealTaggedValue",
"tagDefinition": {
"id": "_12_1_8740266_1172576734718_412869_410",
"name": "mean"
},
"value": [
0.81
]
}
]
},
{
"name": "totalImpulse",
"ownedElement": [
{
"class": "RealTaggedValue",
"tagDefinition": {
"id": "_12_1_8740266_1172576734718_412869_410",
"name": "mean"
},
"value": [
8.8
]
}
]
}
]
},
{
"name": "D12",
"ownedElement": [
{
"name": "burnTime",
"ownedElement": [
{
"class": "RealTaggedValue",
"tagDefinition": {
"id": "_12_1_8740266_1172576734718_412869_410",
"name": "mean"
},
"value": [
1.65
]
}
]
},
{
"name": "totalImpulse",
"ownedElement": [
{
"class": "RealTaggedValue",
"tagDefinition": {
"id": "_12_1_8740266_1172576734718_412869_410",
"name": "mean"
},
"value": [
16.84
]
}
]
}
]
},
{
"name": "E12",
"ownedElement": [
{
"name": "burnTime",
"ownedElement": [
{
"class": "RealTaggedValue",
"tagDefinition": {
"id": "_12_1_8740266_1172576734718_412869_410",
"name": "mean"
},
"value": [
2.44
]
}
]
},
{
"name": "totalImpulse",
"ownedElement": [
{
"class": "RealTaggedValue",
"tagDefinition": {
"id": "_12_1_8740266_1172576734718_412869_410",
"name": "mean"
},
"value": [
27.24
]
}
]
}
]
}
]
}